
/**
 * 
 * 数据分组
 * @param {any} result 
 * @returns 
 */
function arrayGroup(result) {
    let arrObj = [],
      mapObj = {};
  
    for (let item of result) {
      let this_obj = item;
      if (!mapObj[this_obj.group_id]) {
        arrObj.push({
          group_id: this_obj.group_id,
          system_name: this_obj.system_name,
          system_url: this_obj.system_url,
          group_name: this_obj.group_name,
          children: [this_obj]
        })
        mapObj[item.group_id] = item;
      } else {
        for (let item of arrObj) {
          if (item.group_id === this_obj.group_id) {
            item.children.push(this_obj);
            break;
          }else{
            //item.children.push(this_obj);
          }
        }
      }
    }
    return arrObj;
  }
  /**
   * 
   * uuid
   * @param {any} len 
   * @param {any} radix 
   * @returns 
   */
  function uuid(len, radix) {
    var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split('');
    var uuid = [], i;
    radix = radix || chars.length;
   
    if (len) {
     // Compact form
     for (i = 0; i < len; i++) uuid[i] = chars[0 | Math.random()*radix];
    } else {
     // rfc4122, version 4 form
     var r;
   
     // rfc4122 requires these characters
     uuid[8] = uuid[13] = uuid[18] = uuid[23] = '-';
     uuid[14] = '4';
   
     // Fill in random data. At i==19 set the high bits of clock sequence as
     // per rfc4122, sec. 4.1.5
     for (i = 0; i < 36; i++) {
      if (!uuid[i]) {
       r = 0 | Math.random()*16;
       uuid[i] = chars[(i == 19) ? (r & 0x3) | 0x8 : r];
      }
     }
    }
   
    return uuid.join('');
  }
  
  module.exports={
    arrayGroup,
    uuid
   }